Apparatus and method for negotiating network parameters

ABSTRACT

An apparatus and a method for real-time data communication includes a sending client terminal ( 10 ) and at least one receiving client terminal ( 20 ), the client terminals being provided with protective elements ( 12, 22 ), the real-time data communication transmitted via an intermediate distribution server ( 30 ). Moreover, the protective elements ( 12, 22 ) are provided with a network translation unit for mapping one internally accessible network destination address with a corresponding externally accessible network destination address. The sending client terminal ( 10 ) and the intermediate distribution server ( 30 ) are adapted to exchange information between one another about the current mapping of internally and externally accessible destination addresses for the server to reach the receiving client terminal ( 20 ) with real-time data communication.

TECHNICAL FIELD OF THE INVENTION

The present invention relates to an apparatus and method for negotiating network parameters for distribution of media between a client terminal and a server. More in detail the invention relates to means and methods for traversing a firewall which is utilising translation of network addresses.

BACKGROUND OF THE INVENTION

Today, so-called firewalls, shields or other types of protective security arrangements are connected to almost every computer system and communication network. Such security arrangements are necessary for preventing from undesired intrusion into the computer system or network. An attack from outside with the purpose of destruction, or a computer virus that manages to pass security arrangements and reach the interior of a computer system may cause serious damage to it. The damage applies not only the internal computer network or a residential computer system, but also to various electronic equipment related to it. As an alternative to an ordinary firewall, the user of a client terminal in a network may have a so-called network address translator, NAT, between his part of the network and the external network. The arrangement provides an additional obstacle for external users who want to obtain information about the IP-addresses that are present behind the NAT arrangement and in addition to that, the arrangement provides the user with a sufficient number of IP-addresses within his internal network.

A firewall can do address translation to protect internally used IP-numbers from being seen outside of the firewall. This translation changes the network IP information relating to port numbers assigned for the media flow and thus re-directs the media transport. The IP information is used by servers that manage e-meetings or other media distribution services to identify client terminals.

One solution to the problem of how to enable traffic to and from client terminals and servers with an intermediate firewall or other protective arrangement is to insert a specific media proxy server in association with the communication server. However, this is both complicated and costly and hence, there is a need for an improved solution to the problem.

SUMMARY OF THE INVENTION

It is therefore an object of the present invention to alleviate the previously mentioned shortcomings of prior art associated with group communication services and provide a generally applicable solution. This is accomplished by an apparatus and a method for real-time data communication comprising a sending client terminal and at least one receiving client terminal, the client terminals being provided with protective means, the real-time data communication transmitted via an intermediate distribution server, the protective means being provided with a network translation unit for mapping one internally accessible network destination address with a corresponding externally accessible network destination address, characterised in that

-   -   the sending client terminal and the intermediate distribution         server are adapted to exchange information between one another         about the current mapping destination addresses for the server         to access the receiving client terminal with real-time data         communication.

By means of the present invention, negotiation is carried out between a server and a client terminal to propagate the network IP information required for real-time media communication. This is done by direct communication between the client terminal and server using a computer communication protocol connection for transmission of network information in cases when the network address translation is not required. The client terminal and intermediate communication server are adapted to exchange information about network parameters in order to be able to identify the mapping structure between the client's terminal view of the network parameters and the server view after that the data has passed the network address translation unit. The mapping information is subsequently used for identifying the client terminal at the server as well as informing the server about where to send the real-time media for it to reach the receiving client.

BRIEF DESCRIPTION OF THE DRAWINGS

The features, objects, and further advantages of this invention will become apparent by reading this description in conjunction with the accompanying drawings, in which like reference numerals refer to like elements and in which:

FIG. 1 illustrates a schematic overview of the means required for transmitting a media stream of data according to the present invention.

FIG. 2 is a schematic illustration of the mapping of network addresses when transmitting a media stream of data according to the present invention.

DETAILED DESCRIPTION

The following description is of the best mode presently contemplated for practising the invention. The description is not to be taken in a limiting sense, but is made merely for the purpose of describing the general principles of the invention. The scope of the invention should be ascertained with reference to the issued claims.

With reference to FIG. 1, a sending client terminal 10 is connected to the receiving client terminal 20. The connection is preferably made between the sending client terminal and the receiving client terminal via an intermediate communication server 30, which is adapted to direct or forward communication data from any sending communication terminal to another receiving communication terminal. A protective means 12, 22 is arranged in in-between each of the client terminals and the data distributing computer network for protecting the client terminals from harmful intrusion, such as computer viruses or other damaging and network distributed attacks to which the client terminal can be exposed. One kind of protective means is a software-based firewall arrangement or another computer protection means such as a virus shield. The sending and receiving client terminals may comprise any electronic equipment used for communication purposes, such as a personal computer or other type of mobile communication terminal including palmtops, mobile telephones, consoles and electronic organising tools.

In accordance with one embodiment, which is depicted in FIG. 2, the general function of a network address translator is the following: a client terminal A is to establish communication with another client terminal B. Client terminal A is protected by a firewall and/or a network address translator C. Client terminal B pays attention to signals that are input on its port number “x”. When executing the signalling, client terminal A is about to transmit a signal from port number “y” to client B's port number “x”. However, the firewall and/or network address translator arrangement C restrains this packet and re-transmits it from a port number “z” of the protective means C to port number “x” of the client terminal B. Now, there has been established a state in the firewall and/or network address translator C with a mapping of a port on the external side from port “z” of the protective means C to port “y” of client terminal A, i.e. client terminal B now transmits data to port “z” and the firewall and/or network address translator translates this to port “y” of client terminal A. In order to maintain the allow return mode, client terminal A must continuously transmit information to client terminal B through the firewall and/or network address translation arrangement C.

More in detail, and also with reference to FIG. 2, the function of a certain network address translator arrangement in accordance with the present invention is as follows: the first step is client terminal A and client terminal B exchanging a secret piece of information, a so-called key, which may be a large and randomly chosen number treated as secret information, Cr. This is done via a mechanism, such as enclypted and therefore secure HTTP (HTTPS). For clarity reasons although known by the skilled person, HTTP means hypertext transfer protocol and this protocol is the currently used standardised format for transmitting web information. This secret information is transmitted over TCP in a secure transport mode so as to make sure that the information reaches its intended recipient. Next step for client terminal A is to initiate communication with client terminal B via port “x” of client terminal B. Client terminal A transmits data from port “y” via the network translation arrangement C. The arrangement C forwards data to client terminal via its port “z”. Data is now flowing from client terminal B to client terminal A by means of client terminal B transmitting data to port “z” of the network translation arrangement C which in its turn translates this data to port “y” of client terminal A. At this stage of the transmission, client terminal B transmits a request to client terminal A to encrypt an arbitrary word “whatever” by utilising its secret key Cr, which is the same as previously mentioned, and then transmits the encrypted arbitrary word “whatever” to client terminal B. Client terminal B, which is also in possession of the secret key Cr does the same and provided the results of the two encrypted words are equal, transmitted information in the form of data traffic from client terminal A via the network translation arrangement C to client terminal B is acknowledged as being correct. That means further data traffic can be exchanged between client terminal A and client terminal B.

By applying the above described function on the apparatus of FIG. 1, the more detailed description therefore yields the following interpretation of the illustration: Two communication client terminals 10, 20 which are both situated behind network translation arrangements 12, 22. Communication between the two client terminals must be established via a third party, which may include any kind of communication means 30, such for example a communication server or a portal. The first steps for establishing a functional communication channel between the communication client terminals 10 and 20 are carried out in parallel between the individual clients 10 and 20 respectively, and on the other side the communication means 30. As soon as the communication channels 10-30 and 20-30 respectively are established, client terminals 10 and 20 can communicate with each other by transmitting data via the communication means 30.

The above described procedure and function has similarities with the cryptologically known method of challenge response. Moreover, the arbitrary word “whatever” consists of entirely arbitrary symbols which does not necessarily have a meaning or is a known word.

A protective means, such as a firewall, is often arranged in a way that it allows traffic to enter into a protected zone only on condition that corresponding traffic has been transmitted out of that protected zone. For a situation when the communication channel has not been utilised for a period of time, the state of a firewall changes from a data permeable open mode to a locked mode. Other kinds of features associated with firewalls are the described network address translation.

Over the data connection is distributed any type of media information, such as streaming video, IP-telephony communication data or synchronous real-time communication data.

In accordance with the present invention, software is developed in parallel with the method of transmitting and acknowledging a media stream of data. The software resides in a memory associated with the means for transmitting and acknowledging according to FIG. 1. The software is designed for instructing the hardware to carry out the sequential method steps previously described in this document with particular reference to FIG. 2 and the method claims. 

1. Apparatus for real-time data communication comprising a sending client terminal (10) and at least one receiving client terminal (20), the client terminals being provided with protective means (12, 22), the real-time data communication transmitted via an intermediate distribution server (30), the protective means (12, 22) being provided with a network translation unit (not shown) for mapping one internally accessible network destination address with a corresponding externally accessible network destination address, characterised in that the sending client terminal (10) and the intermediate distribution server (30) are adapted to exchange information between one another about the current mapping of destination addresses for the server to access the receiving client terminal (20) with real-time data communication.
 2. Apparatus for real-time data communication according to claim 1, characterised in that the protective means is a firewall arrangement.
 3. Apparatus for real-time data communication according to claim 1, characterised in that the protective means is a virus shield arrangement.
 4. Apparatus for real-time data communication according to claim 1, characterised in that real-time data communication includes data from streaming video, IP-telephony or synchronous communication.
 5. Method for real-time data communication comprising a sending client terminal (10) and at least one receiving client terminal (20), the client terminals being provided with protective means (12, 22), the real-time data communication transmitted via an intermediate distribution server (30), the protective means (12, 22) being provided with a network translation unit (not shown) for mapping one internally accessible network destination address with a corresponding externally accessible network destination address, characterised by exchanging information between the sending client terminal (10) and the intermediate distribution server (30) about the current mapping of destination addresses for the server to access the receiving client terminal (20) with real-time data communication.
 6. Method for real-time data communication according to claim 5, further characterised by exchanging a secret piece of information, such as a so-called key, between the sending and receiving client terminals, the receiving client terminal transmitting requesting the sending client terminal to encrypt an arbitrary sequence by using the secret piece of information, the sending and receiving client terminals encrypting the arbitrary sequence by using the exchanged identical secret piece of information, and comparing the results of the communication terminals encrypted sequences so as to acknowledge further transmission of real-time data communication between the client terminals.
 7. Method for real-time data communication according to claim 6, further characterised by exchanging the secret piece of information, the so-called key, in a secure transport mode such as secure HTTP (hypertext transfer protocol) via TCP (transmission control protocol).
 8. Computer program product for real-time data communication comprising a sending client terminal (10) and at least one receiving client terminal (20), the client terminals being provided with protective means (12, 22), the real-time data communication transmitted via an intermediate distribution server (30), the protective means (12, 22) being provided with a network translation unit (not shown) for mapping one internally accessible network destination address with a corresponding externally accessible network destination address, characterised in that the computer program product is adapted for carrying out the method steps of claim
 5. 9. Apparatus for real-time data communication according to claim 2, characterised in that the protective means is a virus shield arrangement.
 10. Apparatus for real-time data communication according to claim 2, characterised in that real-time data communication includes data from streaming video, IP-telephony or synchronous communication.
 11. Apparatus for real-time data communication according to claim 3, characterised in that real-time data communication includes data from streaming video, IP-telephony or synchronous communication.
 12. Apparatus for real-time data communication according to claim 10, characterised in that real-time data communication includes data from streaming video, IP-telephony or synchronous communication. 